#ifndef WORDEDITDIALOG_H
#define WORDEDITDIALOG_H

#include "openccutil.h"  // 简繁转换
#include "userdict.h"    // 自定义词库

#include <QDialog>
#include <QLineEdit>
#include <QPushButton>


class WordEditDialog : public QDialog
{
    Q_OBJECT

public:
    // 构造：isAdd=true（添加），isAdd=false（修改，需传入原词）
    explicit WordEditDialog(bool isAdd, 
                           const QString &cnWord = "", 
                           const QString &twWord = "", 
                           QWidget *parent = nullptr);
    ~WordEditDialog() override = default;

    // 获取用户输入的词（简体+繁体）
    QString getCnWord() const { return m_cnEdit->text().trimmed(); }
    QString getTwWord() const { return m_twEdit->text().trimmed(); }

private slots:
    // 自动生成繁体
    void onGenerateTraditionalClicked();
    // 确认按钮点击（校验输入）
    void onConfirmClicked();

private:
    void initUI();              // 界面初始化
    bool validateInput();       // 输入校验（非空、无特殊字符）

private:
    bool m_isAdd;               // 是否为添加模式
    QLineEdit *m_cnEdit;        // 简体词输入框
    QLineEdit *m_twEdit;        // 繁体词输入框
    OpenCCUtil *m_opencc;       // 简繁转换工具
    UserDict *m_userDict;       // 自定义词库（用于校验重复）
};

#endif // WORDEDITDIALOG_H